1. Field of the Invention
The invention relates to information storage and retrieval computer systems. More particularly, it relates to methods, devices, and articles of manufacture for delegating administrative operations in a content management system shared among different organizations.
2. Description of the Related Art
A content management system is a computer-based infrastructure for managing the full spectrum of digital information. Large collections of scanned images, facsimiles, electronic office documents, XML and HTML files, computer output, audio, video, multimedia, and virtual reality content can be stored and accessed through the content management system. The content management system integrates content with line of business, customer service, enterprise resource planning (ERP), digital asset management, distance learning, World-Wide Web (“Web”) content management or other applications to accelerate benefits across the enterprise.
One instance of such a content manager system can be visualized as a triangle, its three vertices being the client, a library server and an object server (resource manager). The client provides the user's interface which gives the user the capability of storing, searching for, and, marking-up documents or other objects. The library server is the equivalent of a card catalog which holds information about the objects, including their location. The object server (OS), also referred to herein as the resource manager (RM) is where either the actual object or a pointer to the actual object is stored.
The core library server logic (except for system utilities and housekeeping tasks) is packaged as a set of relational data base (RDB) stored procedures (SPs) containing embedded SQL statements. Each stored procedure is precompiled and runs on a relational database (RDB) server. Thus, each library server process is a relational database server process. The interface to a library server is SQL, through which either stored procedures can be called or SQL SELECT statements (including cursor support) can be executed. Remote access to the library server is via a relational database client.
The resource managers (RMs) can support different/multiple access protocols. For example, the resource manager, or object server, supports the HTTP protocol. The basic information entities managed by the library server are “items.” “Items” as used herein come in two types, simple items and resource items. Resource items can have content associated with them that is stored in one or more resource managers. Resource items point to their content via Resource uniform resource locator (URL) related data.
The library server and resource manager, or object server, are separate processes, often running on different machines. In operation, clients first contact the library server to create/update an index for an object, and to determine where the object is to be stored/replaced. The client then sends a request to the resource manager to store/replace the object.
Administrators of content management systems, as well as other complex computing systems, face a common problem: adding users, changing access rights, or any other administrative operation must be performed by a central administrator. This person has authority to add, update, and delete records for any user of the content management system, including specification of privileges, access rights, and membership in groups. While it is be possible to delegate these tasks to a departmental administrator, it is also necessary to simply trust that this person will not intentionally or accidentally cross the boundary between that department for which that administrator is responsible and other departments. In addition to security concerns, the productivity of administrators is impacted by the quantity of information that is presented to a central administrator.
These problems are compounded when a service provider operates a content management system that services more than one customer such that the content management system 10, shown in FIG. 1, hosts the content of more than one customer.
To help understand the significance of this problem, consider the scenario in which a service provider offers a content management solution to over 200 independent customers. In that scenario each customer supports 40 users that use three types of documents (“index types”) that are stored in the content management system, each of which is processed by seven processing steps (“work baskets”). Accordingly, the content management system stores over 600 types of documents or index types (200 customers×3 document types per customer), with over 1,400 work baskets (200 customers×7 workbaskets per customer), and supporting a total of 8,000 users (200 customers×40 users per customer). Because of the large number of customers, document types, workbaskets, and users, locating the proper resource to which a new user should be authorized can be tedious and occasionally can result in errors. The large lists for defining the index types, workbaskets and users impact both system performance (the time to retrieve the list) and user performance (time to find an entry in the list).
Although the problem is most serious with large installations, customer feedback has shown that this is a concern whenever there is more than one department using the content management system. Accordingly, there is a need to handle administration of content management systems in a more efficient manner that is less burdensome to administrators and in a manner that reduces administrative errors and respects organizational boundaries.